package cl.mt.proxy;

import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;

import org.apache.log4j.Logger;

import cl.mt.data.DataTipoPlataforma;
import cl.mt.dto.DTOTipoPlataforma;
import cl.mt.util.LoggerFactory;

public class ProxyTipoPlataforma implements Serializable {

	private transient Logger log = LoggerFactory.getLogger(this.getClass());

	private static ProxyTipoPlataforma instance = null;
	private static Collection lista = null;

	public ProxyTipoPlataforma() {
	}

	public static ProxyTipoPlataforma getInstance() {
		if (instance == null) {
			instance = new ProxyTipoPlataforma();
		}
		return instance;
	}

	public DTOTipoPlataforma getById(Integer id) {
		if (id == null)
			return null;
		if (lista == null)
			findAll();

		if (lista != null)
			for (Iterator it = lista.iterator(); it.hasNext();) {
				DTOTipoPlataforma dto = (DTOTipoPlataforma) it.next();
				if (id.equals(dto.getId()))
					return dto;
			}

		return null;
	}

	private void findAll() {
		DataTipoPlataforma dao = new DataTipoPlataforma();
		lista = dao.findAll();
	}

	public void refresh() {
		lista = null;
	}

	public Collection getLista() {
		if (lista == null)
			findAll();
		return lista;
	}
}
